package com.carrental.rental.dto;

import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 合同数据传输对象
 */
@Data
public class ContractDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 合同编号
     */
    private String contractNo;

    /**
     * 订单ID
     */
    @NotNull(message = "订单ID不能为空")
    private Long orderId;

    /**
     * 订单编号
     */
    @NotBlank(message = "订单编号不能为空")
    private String orderNo;

    /**
     * 用户ID
     */
    @NotNull(message = "用户ID不能为空")
    private Long userId;

    /**
     * 合同内容
     */
    @NotBlank(message = "合同内容不能为空")
    private String content;

    /**
     * 合同状态（1-待签署，2-已签署，3-已失效）
     */
    private Integer status;

    /**
     * 签署时间
     */
    private LocalDateTime signTime;

    /**
     * 到期时间
     */
    private LocalDateTime expireTime;
} 